|
|
|
|
|
|
|
(GUI) or interfaces between systemsshould not occur during the development phase. If such changes are not addressed during design, before development, this might suggest inadequate skill sets among domain experts, analysts, architects, or designers. In any event, such modifications should be deferred until a future release of the system, if possible. If not possible, the development phase must be postponed while the design flaws are revisited in the design phase. |
|
|
|
|
|
|
|
|
Tip Always remember that the object-oriented development process is discovery-oriented and is analogous to a whirlwind. Each discovery adds force to the whirling winds until the whirlwind reaches its peak strength. At that point, the discoveries become fewer and fewer until the whirlwind finally subsides. Thus, during design, discoveries about business processes, application features, and so on, will cause you to loop back to (iterate through) analysis to verify that they are within your project's scope. This is also true for commercial and entrepreneurial developers because control of product enhancements reduces product deployment and marketing expenses. In general, placing discoveries within their proper context lessens the complexities of developing software, no matter what the purpose of the development effort. |
|
|
|
|
|
|
|
|
|
Design Example: Second Bank of Carrollton |
|
|
|
|
|
|
|
|
After a couple of long days spent assessing the needs of your client, including the development of an initial use-case model, you and your boss at Samsona agree that the project should take, at most, eight months. The worst case would be twelve months. You two base this decision on the following: |
|
|
|
|
|
|
|
|
More than one legacy mainframe system is involved. |
|
|
|
|
|
|
|
|
Two previous bank automation projects with similar needs required between eight and twelve months. |
|
|
|
|
|
|
|
|
You were unexpectedly frustrated on another project at another company when you didn't properly anticipate the problems your client wanted solved. This time, you want to be certain that the project is feasible, which is why you sought the advice of your boss. |
|
|
|
|
|
|
|
|
After drinking some coffee (it's morning, you know), you decide to call your client, the branch manager. You explain that your initial analysis and estimations show that the project should take eight to twelve months. No, no, we need it sooner than that. As I said, our customer attrition rates are horrible, a result of declining customer satisfaction directly related to our slow responsiveness and manual processes. Can we do anything to speed it up? You pause a bit, thinking through your options. After some time, your |
|
|
|
|
|